/**
 * @fileOverview 日志记录器
 * @author <a href="mailto:lexloo@126.com">lexloo</a>
 */
(function() {
	if (typeof com.firefly.Logger != 'undefined') {
		return;
	}

	/**
	 * @static
	 * @class 日志记录
	 * @author <a href="mailto:lexloo@126.com">lexloo</a>
	 */
	com.firefly.Logger = function() {
		this.initialize();
	};

	$Lang.apply(com.firefly.Logger.prototype, {
		initialize : function() {
			if ($Firefly.DEBUG) {
				this.console = new $Console();
			}
		}
	});

	(function() {
		/**
		 * 调试信息
		 * 
		 * @param {String}
		 *            message 信息
		 */
		com.firefly.Logger.prototype.debug = $Firefly.DEBUG ? function(message) {
			this.console.append('[DEBUG] ' + message);
		} : fGo;

		/**
		 * 信息
		 * 
		 * @param {String}
		 *            message 信息
		 */
		com.firefly.Logger.prototype.info = $Firefly.DEBUG ? function(message) {
			this.console.append('[INFO] ' + message);
		} : fGo;

		/**
		 * 警告信息
		 * 
		 * @param {String}
		 *            message 警告信息
		 */
		com.firefly.Logger.prototype.warn = $Firefly.DEBUG ? function(message) {
			this.console.append('[WARN] ' + message);
		} : fGo;

		/**
		 * 错误信息
		 * 
		 * @param {String}
		 *            message 错误信息
		 */
		com.firefly.Logger.prototype.error = $Firefly.DEBUG ? function(message) {
			this.console.append('[ERROR] ' + message);
		} : fGo;
	})();

	/**
	 * com.firefly.Logger实例
	 */
	$$Logger = new com.firefly.Logger();
})();
